//=============================================================================
/**
 * @file	pkthln_throw_sub.h
 * @brief	玉投げサブ画面
 * @date	2008.09.02
 */
//=============================================================================

#ifndef	__PKTHLN_THROW_SUB_H__
#define	__PKTHLN_THROW_SUB_H__

#include "common.h"
#include "../pkthln_clact.h"

#define SUB_DISP_DISTANCE	((192+96) * FX32_ONE)

#define THROW_OBJ_SUB_PAL_NUM	(4)		//競技サブパレット4

#define MY_POKE_BASE_X		(16)
#define MY_POKE_MARGINE_X	(50)
#define MY_POKE_BASE_Y		(416-(5*8))
#define SWEAT_OFS	(16*FX32_ONE)

typedef struct THROW_SUB_CNT_tag * THROW_SUB_CNT_PTR;

#include "../../pokethlon.h"

typedef enum{
	MY_POKE_ANM_NORMAL = 1,
	MY_POKE_ANM_THROW = 4,
	MY_POKE_ANM_HIT = 7,
	MY_POKE_ANM_PANIC = 10,
}MY_POKE_ANM;

extern THROW_SUB_CNT_PTR ThrowSub_Init( const int inHeapID,
									GF_BGL_INI *inBgl,
									PKTHLN_PTR pkthlnPtr );
extern void ThrowSub_Free( THROW_SUB_CNT_PTR ptr );
extern void ThrowSub_SetBG(THROW_SUB_CNT_PTR ptr, const u8 inNetID);

extern void ThrowSub_SetObj(THROW_SUB_CNT_PTR ptr, PKTHLN_CLACT_CNT_PTR pActCntPtr);
extern void ThrowSub_SetPokeAct( 	THROW_SUB_CNT_PTR ptr, PKTHLN_CLACT_CNT_PTR pActCntPtr,
									const MONS_INFO *inInfoList	);

extern void  ThrowSub_SetDrawSweat(THROW_SUB_CNT_PTR ptr,const u8 inIdx, const u8 inVisible);
extern void ThrowSub_FillPoint(THROW_SUB_CNT_PTR cnt_ptr, const u16 inPoint);
extern void ThrowSub_ChgPokeAnm(THROW_SUB_CNT_PTR cnt_ptr, const u8 inIdx, const MY_POKE_ANM inAnm);
extern BOOL ThrowSub_PokeAnmCheck(THROW_SUB_CNT_PTR cnt_ptr, const u8 inIdx);

extern void ThrowSub_DispShakeRequest(THROW_SUB_CNT_PTR cnt_ptr);
extern void ThrowSub_DispShakeMain(THROW_SUB_CNT_PTR cnt_ptr);
extern void ThrowSub_SetPen( THROW_SUB_CNT_PTR cnt_ptr,
							 PKTHLN_CLACT_CNT_PTR inActCntPtr,
							 CMN_RES_CNT_PTR inResCntPtr );

#ifdef PM_DEBUG
extern void PokeGraDebugMain(THROW_SUB_CNT_PTR ptr);
#endif


#endif	//__PKTHLN_THROW_SUB_H__